home *** CD-ROM | disk | FTP | other *** search
- #
- # (C) Tenable Network Security
- #
- # This plugin text was extracted from Mandrake Linux Security Advisory MDKSA-2002:062-1
- #
-
-
- if ( ! defined_func("bn_random") ) exit(0);
- if(description)
- {
- script_id(13963);
- script_version ("$Revision: 1.4 $");
- script_bugtraq_id(5527, 5528, 6610, 6612, 6614, 6615);
- script_cve_id("CAN-2002-0972", "CAN-2002-1397", "CAN-2002-1398", "CAN-2002-1400", "CAN-2002-1401", "CAN-2002-1402");
-
- name["english"] = "MDKSA-2002:062-1: postgresql";
-
- script_name(english:name["english"]);
-
- desc["english"] = "
- The remote host is missing the patch for the advisory MDKSA-2002:062-1 (postgresql).
-
-
- Vulnerabilities were discovered in the Postgresql relational database by Mordred
- Labs. These vulnerabilities are buffer overflows in the rpad(), lpad(),
- repeat(), and cash_words() functions. The Postgresql developers also fixed a
- buffer overflow in functions that deal with time/date and timezone.
- Finally, more buffer overflows were discovered by Mordred Labs in the 7.2.2
- release that are currently only fixed in CVS. These buffer overflows exist in
- the circle_poly(), path_encode(), and path_addr() functions.
- In order for these vulnerabilities to be exploited, an attacker must be able to
- query the server somehow. However, this cannot directly lead to root privilege
- because the server runs as the postgresql user.
- Prior to upgrading, users should dump their database and retain it as backup.
- You can dump the database by using:
- $ pg_dumpall > db.out
- If you need to restore from the backup, you can do so by using:
- $ psql -f db.out template1
- Update:
- The previous update missed a few small fixes, including a buffer overflow in the
- cash_words() function that allows local users to cause a DoS and possibly
- execute arbitrary code via a malformed argument in Postgresql 7.2 and earlier.
- As well, buffer overflows in the TZ and SET TIME ZONE environment variables for
- Postgresql 7.2.1 and earlier can allow local users to cause a DoS and possibly
- execute arbitrary code.
-
-
- Solution : http://www.mandrakesoft.com/security/advisories?name=MDKSA-2002:062-1
- Risk factor : High";
-
-
-
- script_description(english:desc["english"]);
-
- summary["english"] = "Check for the version of the postgresql package";
- script_summary(english:summary["english"]);
-
- script_category(ACT_GATHER_INFO);
-
- script_copyright(english:"This script is Copyright (C) 2004 Tenable Network Security");
- family["english"] = "Mandrake Local Security Checks";
- script_family(english:family["english"]);
-
- script_dependencies("ssh_get_info.nasl");
- script_require_keys("Host/Mandrake/rpm-list");
- exit(0);
- }
-
- include("rpm.inc");
- if ( rpm_check( reference:"postgresql-7.0.2-6.2mdk", release:"MDK7.2", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-devel-7.0.2-6.2mdk", release:"MDK7.2", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-jdbc-7.0.2-6.2mdk", release:"MDK7.2", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-odbc-7.0.2-6.2mdk", release:"MDK7.2", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-perl-7.0.2-6.2mdk", release:"MDK7.2", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-python-7.0.2-6.2mdk", release:"MDK7.2", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-server-7.0.2-6.2mdk", release:"MDK7.2", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-tcl-7.0.2-6.2mdk", release:"MDK7.2", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-test-7.0.2-6.2mdk", release:"MDK7.2", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-tk-7.0.2-6.2mdk", release:"MDK7.2", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-7.0.3-12.3mdk", release:"MDK8.0", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-devel-7.0.3-12.3mdk", release:"MDK8.0", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-jdbc-7.0.3-12.3mdk", release:"MDK8.0", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-odbc-7.0.3-12.3mdk", release:"MDK8.0", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-perl-7.0.3-12.3mdk", release:"MDK8.0", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-python-7.0.3-12.3mdk", release:"MDK8.0", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-server-7.0.3-12.3mdk", release:"MDK8.0", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-tcl-7.0.3-12.3mdk", release:"MDK8.0", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-test-7.0.3-12.3mdk", release:"MDK8.0", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-tk-7.0.3-12.3mdk", release:"MDK8.0", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-7.1.2-19.3mdk", release:"MDK8.1", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-contrib-7.1.2-19.3mdk", release:"MDK8.1", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-devel-7.1.2-19.3mdk", release:"MDK8.1", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-docs-7.1.2-19.3mdk", release:"MDK8.1", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-jdbc-7.1.2-19.3mdk", release:"MDK8.1", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-libs-7.1.2-19.3mdk", release:"MDK8.1", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-odbc-7.1.2-19.3mdk", release:"MDK8.1", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-perl-7.1.2-19.3mdk", release:"MDK8.1", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-plperl-7.1.2-19.3mdk", release:"MDK8.1", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-python-7.1.2-19.3mdk", release:"MDK8.1", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-server-7.1.2-19.3mdk", release:"MDK8.1", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-tcl-7.1.2-19.3mdk", release:"MDK8.1", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-test-7.1.2-19.3mdk", release:"MDK8.1", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-tk-7.1.2-19.3mdk", release:"MDK8.1", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"libecpg3-7.2-12.2mdk", release:"MDK8.2", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"libpgperl-7.2-12.2mdk", release:"MDK8.2", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"libpgsql2-7.2-12.2mdk", release:"MDK8.2", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"libpgsqlodbc0-7.2-12.2mdk", release:"MDK8.2", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"libpgtcl2-7.2-12.2mdk", release:"MDK8.2", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-7.2-12.2mdk", release:"MDK8.2", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-contrib-7.2-12.2mdk", release:"MDK8.2", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-devel-7.2-12.2mdk", release:"MDK8.2", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-docs-7.2-12.2mdk", release:"MDK8.2", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-jdbc-7.2-12.2mdk", release:"MDK8.2", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-python-7.2-12.2mdk", release:"MDK8.2", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-server-7.2-12.2mdk", release:"MDK8.2", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-tcl-7.2-12.2mdk", release:"MDK8.2", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-test-7.2-12.2mdk", release:"MDK8.2", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-tk-7.2-12.2mdk", release:"MDK8.2", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"libecpg3-7.2.2-1.2mdk", release:"MDK9.0", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"libpgperl-7.2.2-1.2mdk", release:"MDK9.0", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"libpgsql2-7.2.2-1.2mdk", release:"MDK9.0", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"libpgsqlodbc0-7.2.2-1.2mdk", release:"MDK9.0", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"libpgtcl2-7.2.2-1.2mdk", release:"MDK9.0", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-7.2.2-1.2mdk", release:"MDK9.0", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-contrib-7.2.2-1.2mdk", release:"MDK9.0", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-devel-7.2.2-1.2mdk", release:"MDK9.0", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-docs-7.2.2-1.2mdk", release:"MDK9.0", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-jdbc-7.2.2-1.2mdk", release:"MDK9.0", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-python-7.2.2-1.2mdk", release:"MDK9.0", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-server-7.2.2-1.2mdk", release:"MDK9.0", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-tcl-7.2.2-1.2mdk", release:"MDK9.0", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-test-7.2.2-1.2mdk", release:"MDK9.0", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if ( rpm_check( reference:"postgresql-tk-7.2.2-1.2mdk", release:"MDK9.0", yank:"mdk") )
- {
- security_hole(0);
- exit(0);
- }
- if (rpm_exists(rpm:"postgresql-", release:"MDK7.2")
- || rpm_exists(rpm:"postgresql-", release:"MDK8.0")
- || rpm_exists(rpm:"postgresql-", release:"MDK8.1")
- || rpm_exists(rpm:"postgresql-", release:"MDK8.2")
- || rpm_exists(rpm:"postgresql-", release:"MDK9.0") )
- {
- set_kb_item(name:"CAN-2002-0972", value:TRUE);
- set_kb_item(name:"CAN-2002-1397", value:TRUE);
- set_kb_item(name:"CAN-2002-1398", value:TRUE);
- set_kb_item(name:"CAN-2002-1400", value:TRUE);
- set_kb_item(name:"CAN-2002-1401", value:TRUE);
- set_kb_item(name:"CAN-2002-1402", value:TRUE);
- }
-